package com.ruoyi.house_sale.service;

import java.util.List;
import com.ruoyi.house_sale.domain.BuyHouse;
import com.ruoyi.house_sale.domain.HouseEvent;
import com.ruoyi.house_sale.domain.PaidScheme;

/**
 * 购买房产Service接口
 *
 * @author ruoyi
 * @date 2022-04-08
 */
public interface IBuyHouseService
{
    /**
     * 查询购买房产
     *
     * @param buyid 购买房产主键
     * @return 购买房产
     */
    public BuyHouse selectBuyHouseByBuyid(Long buyid);

    /**
     * 查询购买房产列表
     *
     * @param buyHouse 购买房产
     * @return 购买房产集合
     */
    public List<BuyHouse> selectBuyHouseList(BuyHouse buyHouse);

    /**
     * 新增购买房产
     *
     * @param buyHouse 购买房产
     * @return 结果
     */
    public int insertBuyHouse(BuyHouse buyHouse);

    /**
     * 修改购买房产
     *
     * @param buyHouse 购买房产
     * @return 结果
     */
    public int updateBuyHouse(BuyHouse buyHouse);

    /**
     * 批量删除购买房产
     *
     * @param buyids 需要删除的购买房产主键集合
     * @return 结果
     */
    public int deleteBuyHouseByBuyids(Long[] buyids);

    /**
     * 删除购买房产信息
     *
     * @param buyid 购买房产主键
     * @return 结果
     */
    public int deleteBuyHouseByBuyid(Long buyid);

    /**
     * 退房
     * @param houseEvent
     */
    public void checkout(HouseEvent houseEvent);

    /**
     * 换房
     * @param buyHouse
     */
    public int change(BuyHouse buyHouse);

    /**
     * 查询付款方案列表
     *
     * @param paidScheme 付款方案
     * @return 付款方案集合
     */
    public List<PaidScheme> selectPaidSchemeList(PaidScheme paidScheme);


    public Long selecthouserid(Long buyid);
    public List<BuyHouse> findAllhouseList(BuyHouse buyHouse);

}
